/**
 * api 入口文件
 * @author whyccup
 */
const Path = require('path')
const express = require('express')
const bodyParser = require('body-parser')
const app = express()

// 解决跨域
// const cors = require('cors')
// app.use(cors({
//   credentials: true,
//   origin: ['http://localhost:10002']
// }))

// 启用session
// const shortId = require('shortid')
// const session = require('express-session')
// const MongoStore = require('connect-mongo')(session)
// const mongoose = require('mongoose')
// app.use(session({
//   secret: shortId.generate(),
//   resave: true,
//   store: new MongoStore({mongooseConnection: mongoose.connection}),  // 设定session储存地点 
//   saveUninitialized: false,
//   cookie: {
//     maxAge: 60000,
//     httpOnly: true
//   }
// }))

// 启用参数解析器
app.use(bodyParser.urlencoded({
  extended: true
}))
app.use(bodyParser.json())

// 启动静态服务
app.use(express.static(Path.join(__dirname, 'public')))

// 引入接口文件
app.use(require('./routers'))

// 引入日志记录工具
const log = require('./config').log

// 错误处理
app.use((err, req, res, next) => {
  log.error(req.path, err.message)
  if (err.status == 503) res.json({
    status: 503,
    error: '服务器无响应'
  })
  next()
  return
})

// 引入端口号
const PORT = require('./config').port

// 启动监听
app.listen(PORT, () => {
  console.log('%s，监听在%s端口', '脑心同治api', PORT)
})